home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
tos_updt
/
fmcity
/
palcom
/
auto
/
script
/
expcom.mx
< prev
next >
Wrap
Text File
|
1995-02-10
|
3KB
|
105 lines
//--------------------------------------------------------------------------//
// PALCOM V2.1 L10 //
// 自動通信:エグゼクティブオプション設定スクリプト //
// //
// CopyRight(C) 1994/10/20 //
// FUJITSU PERSONAL COMPUTER SYSTEMS LIMITED //
// written by C-cube Soft T.Nakamura //
//--------------------------------------------------------------------------//
// 本スクリプトは、$$USER.DEFINED.9 を引数及び復帰値格納用に使用します。 //
// 【入力】 //
// $$USER.DEFINED.9 = [ //
// エグゼクティブオプション状態, //
// エグゼクティブオプション状態ファイルオフセット, //
// ] //
// //
//--------------------------------------------------------------------------//
event @OPEN.EXTERN {
$AUTO.WAIT15 = AUTO.getWaitChar( 15 );
$AUTO.WAIT60 = AUTO.getWaitChar( 60 );
//--- エグゼクティブオプションの設定に入る ---//
sys.stopIntRec();
loop {
AUTO.putStr("GO OPTION\r");
$errFlg = 1;
comtable( $a, 300 ) {
"GO OPTION\n" { $errFlg = 0; exit; }
interval { AUTO.haltCheck(); }
}
if( $errFlg == 0 ) {
exit;
}
AUTO.putStr("\r");
AUTO.waitPrompt( #TRUE );
continue;
}
$tmpList = [];
$inFlg = 0;
comtable( $a, 0 ) {
interval { AUTO.haltCheck(); }
$AUTO.WAIT60 { AUTO.putStr("\r"); }
"OPTION\n" { $inFlg = 1; }
">\w\w" { exit; }
}
if( $inFlg == 0 ) {
//--- エグゼクティブオプションの設定に入れなかった ---//
$errMsg = ["エグゼクティブオプションに入ることが出来ませんでした。",
"エグゼクティブオプションの設定を中断しました。"];
AUTO.error("エグゼクティブオプションの設定", $errMsg );
return;
}
//--- 現在の設定状態を判断し、設定するかしないかを判断する ---//
AUTO.putStr("2\r");
comtable( $a, 1200 ) {
interval { AUTO.haltCheck(); }
$AUTO.WAIT60 { AUTO.putStr("\r"); }
"現在:設定する"{ $flg = #TRUE; }
"現在:しない" { $flg = #FALSE; }
":\w\w" { exit; }
}
if( list.get1st( $$USER.DEFINED.9 ) == $flg ) {
if( $flg == #TRUE ) {
AUTO.sendCommand("2");
} else {
AUTO.sendCommand("1");
}
} else {
AUTO.sendCommand("");
}
//--- データベースの更新 ---//
$db = AUTO.getTrdId();
if( list.get1st( $$USER.DEFINED.9 ) == #TRUE ) {
trd.setData( $db, [1,1], "設定なし" );
//--- 解除の場合はフラッシュニュースも同時に解除する ---//
trd.setData( $db, [1,2], "設定なし" );
} else {
trd.setData( $db, [1,1], "設定あり" );
}
AUTO.setTrdUpdateFlg();
//--- 設定ファイルの値を書き換える ---//
$fname = list.getNth( AUTO.getSetName(), 2 );
$id = file.open( $fname, "", 1 );
file.seek( $id, list.getNth( $$USER.DEFINED.9, 2 ), 0 );
file.putByte( $id, code("2"));
if( $flg == #TRUE ) {
//--- 解除の場合はフラッシュニュースも同時に解除する ---//
file.putByte( $id, code("2"));
}
file.close( $id );
return;
}
event @CLOSE.EXTERN {
sys.startIntRec();
return;
}
event @ERROR {
sys.startIntRec();
AUTO.fatalError();
event.mainLoop();
}